STRTOK

#include<string.h>    требуется  только для объявления функции
            
char *strtor(string1,string2); находит символ в string1
char *string1;        строка, содержащая символы
char *string2;        множество символов-ограничителей

Описание.
Функция strtok читает строку string1 как множество нуль или более знаков, служащих в качестве ограничителей для символов в string1. Символы в string1 могут отделяться одним или более ограничителем от string2. Символы в string1 разрываются столько раз, сколько вызывается strtok. При первом вызове strtok для заданной строки string1, strtok находит первый символ в string1, пропуская предыдущие ограничители. Указатель возвращается на первый знак. Для того, чтобы прочитать следующий символ из string1, функция strtok вызывается вместе с NULL значением для аргумента string1. Аргумент NULL строки string1 вызывает strtok для поиска следующего знака в предыдущей строке символов. Множество ограничителей может быть различным от вызова к вызову, так как string 2 может принимать любые значения.

Замечание.
String1 можно модифицировать вызовами strtok, так как после вызова strtok в string1 вставляется нулевое значение ('\0').

Возвращаемое значение.
При вызове strtok первый раз, она возвращает указатель на первый символ в string1 . При последующих вызовах в этой же самой строке символов, strtok возвращает указатель на следующий символ в строке. Указатель NULL возвращается, когда нет больше символов. Все символы оканчиваются нулем.

Пример.

               #include <string.h>
               #include <stdio.h>
            
               char *string = "a string, of , ,tokens";
               .
               .
               .
               /*  в следующем цикле собираются символы (отделенные пробе-
         лами или запятыми) из строки до тех пор, пока в ней ничего не ос-
         танется */
               token = strtok(string,",");
            
               while  (token  !=NULL)   {
               /* вставляет код для обработки символа в цикле */
                      .
                      .
                      .
               token = strtok(NULL,",");
               /* берет следующий символ */
                    }
            
               /* возвращаемыми  символами  являются  "a","string",  "of",
         "tokens". Следующий вызов strtok возвратит NULL и цикл завершает-
         ся */
            
Hosted by uCoz